package org.awenlice.playerdailyshop.util;

import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.Item;
import net.minecraft.world.item.ItemStack;
import net.minecraft.core.registries.Registries;
import net.minecraftforge.registries.RegistryManager;

public class CrossModItemLoader {
    /**
     * 根据模组ID和物品名称获取其他模组的物品堆栈
     * @param modId 目标模组的ID（如"minecraft"）
     * @param itemName 物品注册名称（如"stone"）
     * @param count 物品数量
     * @return 对应的ItemStack，找不到时返回空堆栈
     */
    public static ItemStack getItemStackFromOtherMod(String modId, String itemName, int count) {
        // 构建资源定位符
        ResourceLocation itemId = new ResourceLocation(modId, itemName);

        // 从全局注册表获取物品实例
        Item item = RegistryManager.ACTIVE.getRegistry(Registries.ITEM)
                .getValue(itemId);

        if (item != null) {
            return new ItemStack(item, count);
        } else {
            // 处理找不到物品的情况
            // 可以在此处添加日志输出：ModLogger.warn("找不到物品: {}:{}", modId, itemName);
            return ItemStack.EMPTY;
        }
    }

    /**
     * 简化版方法（默认数量为1）
     */
    public static ItemStack getItemStackFromOtherMod(String modId, String itemName) {
        return getItemStackFromOtherMod(modId, itemName, 1);
    }
}
